今天介紹變數宣告, 變數宣告是寫程式必備的觀念, 以下就來看 go 怎麼宣告變數囉!
package main
import (
"fmt"
"helloworld/pkg" // helloworld 是 mod.go 裡面的專案名稱, 後面pkg就是資料夾路徑
)
func adder(a int, b int) int {
return a + b
}
func sayHello(){
fmt.Println("hello world")
}
func main(){
// sayHello()
fmt.Println( adder(3, 5) )
fmt.Println( pkg.Sub(10, 6)) // 這邊就需要使用 pkg這個物件去呼叫Sub函式(至於什麼是物件後面詳述)
}
翻修 main.go
package main
import (
"fmt"
"helloworld/pkg"
)
func main(){
// fmt.Println( pkg.Sub(10, 6))
a := "hello" // 最簡單的宣告方式, := 的功能是類型推導, 不用告訴編譯器a是什麼類型, 他會依據 := 右邊的資料, 自己判斷是什麼類型, 偷懶方便
var b string // 先宣告變數 b , var是關鍵字, 英文全稱是 variable 變數的意思
b = "world" // 再賦值給 b
fmt.Println( a + b )
}
go run .
預期結果: 顯示 hello world
說明:
修改 main.go
package main
import (
"fmt"
"helloworld/pkg"
)
const port = ":5555" // const 表示變數寫死, 後面無法改變port的值, 全域變數, 整個檔案的函式都看得到
var lg = fmt.Println // var 表示一般變數, 此處做了個比較特別的事情, fmt.Println 是一個 function, 我們將function指定給變數lg, 這樣未來我們需要呼叫 fmt.Println的時候, 我們只需要呼叫lg就好了
func main(){
lg(port)
// fmt.Println( pkg.Sub(10, 6))
// 其他程式碼先刪掉, 比較容易閱讀
}
執行程式: 印出 :5555
修改 main.go
package main
import (
"fmt"
"helloworld/pkg"
)
const port = ":5555" // const 表示變數寫死, 後面無法改變port的值, 全域變數, 整個檔案的函式都看得到
var lg = fmt.Println // var 表示一般變數, 此處做了個比較特別的事情, fmt.Println 是一個 function, 我們將function指定給變數lg, 這樣未來我們需要呼叫 fmt.Println的時候, 我們只需要呼叫lg就好了
func greetUser(job string, name string) (string, error){
ans := "hello " + job + name
return ans, nil
}
func main(){
lg(port)
greet, _ := greetUser("programmer", "yale")
lg(greet)
// fmt.Println( pkg.Sub(10, 6))
// 其他程式碼先刪掉, 比較容易閱讀
}
說明: